package com.bite.book.model;

import com.bite.book.enums.ResultStatus;
import lombok.Data;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User:DELL
 * Date:2025-06-05
 * Time:19:16
 */
@Data//包装一层，判断是否登录
public class Result<T> {
    private ResultStatus code;//业务码，看是否成功,不是http的状态码，200：成功 -2：失败 -1：未登录
    private String errMsg;//错误信息，如果业务成功，errMsg为空，
    private T data;//返回结果 (列表，添加，删除图书）

    public static <T> Result success(T data){
        Result result=new Result<>();
        result.setCode(ResultStatus.SUCCESS);
        result.setData(data);
        return result;
    }
    //未登录
    public static Result nologin(){
        Result result=new Result<>();
        result.setCode(ResultStatus.NOLOGIN);
        result.setErrMsg("用户未登录");
        return result;
    }

    //失败
    public static Result fail(String msg){
        Result result=new Result<>();
        result.setCode(ResultStatus.FAIL);
        result.setErrMsg(msg);//返回失败信息
        return result;
    }

    public static Result fail(ResultStatus resultStatus, String msg){
        Result result=new Result<>();
        result.setCode(resultStatus);
        result.setErrMsg(msg);//返回失败信息
        return result;
    }

}
